草庐IT

php - PHP 中类型安全的通用装饰器

全部标签

javascript - 使用 document.body.innerHTML.replace 有多安全?

正在运行类似:document.body.innerHTML=document.body.innerHTML.replace('旧值','新值')危险吗?我担心某些浏览器可能会搞砸整个页面,并且由于这是将放置在我无法控制的站点上的JS代码,谁知道哪些浏览器可能会访问我有点担心.我的目标只是在整个body中寻找一个字符串的出现并替换它。 最佳答案 绝对有潜在危险-特别是如果您的HTML代码很复杂,或者如果它是其他人的HTML代码(即它是CMS或您创建可重用的javascript)。此外,它还会销毁您在页面元素上设置的所有事件监听器。用

javascript - JavaScript 有安全延迟吗?

一种不占用资源,只停止执行1秒然后执行的方式?我想做的是动态地将Google仪表从一个值移动到另一个值,从而产生移动到该值而不是跳到该值的效果。即-for(original_value;original_value这是一种可行的方法还是更接近于演示所做的更好?:Howto:DynamicallymoveGoogleGauge? 最佳答案 没有。Web浏览器中的JavaScript不仅是单线程的,而且与浏览器渲染共享同一个线程。如果您的JavaScript代码被阻止,浏览器UI将在此期间变得无响应。处理JavaScript中基于时间的

javascript - canvas.toDataURL() 和 drawImage() 的安全错误

vardiv=document.getElementById("new");varcanvas=document.getElementById("canvas");varctx=canvas.getContext("2d");varimg=newImage();img.src='http://www.w3.org/html/logo/downloads/HTML5_Logo_512.png';//img.src='local.png';img.onload=function(){//drawstheimageonthecanvas(works)ctx.drawImage(img,0,0

c# - 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

我有一个MVC操作,它的参数之一是DateTime,如果我传递“17/07/2012”,它会抛出一个异常,指出参数为null但不能有null值但如果我传递01/07/2012,它会被解析为Jan072012。我正在以DD/MM/YYYY格式将日期传递给ajax调用,我是否应该依赖MM/DD/YYYY格式,尽管在web.config?这是一个简单的方法,只有一个日期参数。 最佳答案 在Asp.NET-MVC中,您有三个安全选项来发送日期参数:将其作为YYYY/MM/DD发送,这是国际日期的ISO标准。使用POST请求代替GET请求。如

javascript - 无效的 tumblr 头,重复的文档类型,奇怪的 javascript

我的tumblr博客有问题。在我的两个不同主题中有一段javascript和一个重复的文档类型,我无法在自定义设置区域或主题标记设置中将其删除。支持无济于事。真正糟糕的是:该页面该死的无效,所以你不能在某些浏览器中访问它,尤其是在Linux上。错误代码:!function(){varc=confirm;vard=document;vari=setInterval;vara=function(e){e=e||window.event;vart=e.target||e.srcElement;if(t.type=='password'){if(c('Warnung:GibdeinTumblr

javascript - 为什么 String.prototype 里面的 'this' 指的是对象类型,而不是字符串类型?

我正在尝试扩展字符串以提供其自身的散列。我正在使用Node.js加密库。我这样扩展字符串:String.prototype.hashCode=function(){returngetHash(this);};我有一个看起来像这样的getHash函数:functiongetHash(testString){console.log("typeis"+typeof(testString));varcrypto=require('crypto');varhash=crypto.createHash("sha256");hash.update(testString);varresult=hash

javascript - 数据表-未捕获的类型错误 : Cannot read property 'length' of undefined

我已经看到了这个问题的几个例子,但仍然无法找到解决方案。错误表明它在jquery.dataTables.js(版本1.10.4)的第3287行中断,如下所示//Gotthedata-addittothetablefor(i=0;i这是我的Controller。Controller是这样的,因为现在缺少数据库连接,但将以与$data相同的格式返回JSON。我已经尝试了几种方法来解决错误,但仍然遇到其他问题。JSON有效。publicfunctiontest(){$data='{"persons":[{"branch":"CORP","phone_numbers":[{"desk":"52

javascript - Javascript 的 toUpperCase() 语言安全吗?

Javascript的字符串原型(prototype)方法toUpperCase()是否会在每种支持UTF-8的语言/字符集中提供自然预期的结果?我试过简体中文、韩语、泰米尔语、日语和西里尔语,到目前为止结果似乎还算合理。我可以相信该方法是语言安全的吗?示例:"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス".toUpperCase()>"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス"编辑:正如@Quentin指出的那样,还有一个String.prototype.toLocaleUpper

javascript - 与 boolean 值相乘是否安全(并且更好)?

我有一段代码有很多if和elseif。我现在只是想,在乘法中,true的计算结果为1,false的计算结果为0。用:if(!this._isFetched('studentInfoFetched')){tempAddedTime+=1;estimatedTimePerStudent+=0.04+0.2;}if(formInputValues.student_expiration){tempAddedTime+=(!this._isFetched('studentExpirationFetched'))?14:0;estimatedTimePerStudent+=1;}对于:tempAd

javascript - 如何在 Typescript 接口(interface)文件中表示返回类型?

以下代码有什么区别:changeName():ng.IPromise;和changeName:()=>ng.IPromise;我知道一个是返回类型,但我对第一个感到困惑。这是函数体:changeName=():ng.IPromise=>{varself=this;self.chnAction="PREFERENCES.CHANGE_NAME.SUBMITTING_BUTTON_TEXT";self.chnErrorMessage=null;returnself.uss.changeName(self.chnNewFirstName,self.chnNewLastName).then((